home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 March / Amiga-CD 1996 #3.iso / pd-software / mui_3.1 / developer / autodocs / mui_window.doc < prev    next >
Text File  |  1996-01-19  |  26KB  |  970 lines

  1. TABLE OF CONTENTS
  2.  
  3. Window.mui/Window.mui
  4. Window.mui/MUIA_Window_Activate
  5. Window.mui/MUIA_Window_ActiveObject
  6. Window.mui/MUIA_Window_AltHeight
  7. Window.mui/MUIA_Window_AltLeftEdge
  8. Window.mui/MUIA_Window_AltTopEdge
  9. Window.mui/MUIA_Window_AltWidth
  10. Window.mui/MUIA_Window_AppWindow
  11. Window.mui/MUIA_Window_Backdrop
  12. Window.mui/MUIA_Window_Borderless
  13. Window.mui/MUIA_Window_CloseGadget
  14. Window.mui/MUIA_Window_CloseRequest
  15. Window.mui/MUIA_Window_DefaultObject
  16. Window.mui/MUIA_Window_DepthGadget
  17. Window.mui/MUIA_Window_DragBar
  18. Window.mui/MUIA_Window_FancyDrawing
  19. Window.mui/MUIA_Window_Height
  20. Window.mui/MUIA_Window_ID
  21. Window.mui/MUIA_Window_InputEvent
  22. Window.mui/MUIA_Window_LeftEdge
  23. Window.mui/MUIA_Window_Menu
  24. Window.mui/MUIA_Window_MenuAction
  25. Window.mui/MUIA_Window_Menustrip
  26. Window.mui/MUIA_Window_MouseObject
  27. Window.mui/MUIA_Window_NeedsMouseObject
  28. Window.mui/MUIA_Window_NoMenus
  29. Window.mui/MUIA_Window_Open
  30. Window.mui/MUIA_Window_PublicScreen
  31. Window.mui/MUIA_Window_RefWindow
  32. Window.mui/MUIA_Window_RootObject
  33. Window.mui/MUIA_Window_Screen
  34. Window.mui/MUIA_Window_ScreenTitle
  35. Window.mui/MUIA_Window_SizeGadget
  36. Window.mui/MUIA_Window_SizeRight
  37. Window.mui/MUIA_Window_Sleep
  38. Window.mui/MUIA_Window_Title
  39. Window.mui/MUIA_Window_TopEdge
  40. Window.mui/MUIA_Window_Width
  41. Window.mui/MUIA_Window_Window
  42. Window.mui/MUIM_Window_GetMenuCheck
  43. Window.mui/MUIM_Window_GetMenuState
  44. Window.mui/MUIM_Window_ScreenToBack
  45. Window.mui/MUIM_Window_ScreenToFront
  46. Window.mui/MUIM_Window_SetCycleChain
  47. Window.mui/MUIM_Window_SetMenuCheck
  48. Window.mui/MUIM_Window_SetMenuState
  49. Window.mui/MUIM_Window_ToBack
  50. Window.mui/MUIM_Window_ToFront
  51. Window.mui/Window.mui
  52.  
  53.     Objects of window class are used to generate windows and
  54.     supply a place where MUI gadgets feel well. It handles
  55.     the complicated task of window resizing fully automatic,
  56.     you don't need to worry about that.
  57.  
  58.     Windows are children of an application, you cannot use
  59.     a window object without having a parent application
  60.     object. On the other side, the gadgets in a window
  61.     are children of the window, you cannot use MUI gadgets
  62.     without having a parent MUI window.
  63.  
  64.     Creating a window object does not mean to open it
  65.     instantly. This is done later by setting the window's
  66.     MUIA_Window_Open attribute. If your application has
  67.     several windows, the usual way is to create them all
  68.     at once at startup time and open/close it later
  69.     just by setting MUIA_Window_Open.
  70.  
  71.     There is no difference in talking to gadgets whether
  72.     their parent window is open or not. If you e.g. set
  73.     the contents of a string gadget in an open window,
  74.     the gadget will refresh immediately. If the window is
  75.     closed, the gadget just remembers its new setting
  76.     and displays it later.
  77. Window.mui/MUIA_Window_Activate
  78.  
  79.     NAME
  80.     MUIA_Window_Activate -- (V4 ) [ISG], BOOL
  81.  
  82.     FUNCTION
  83.     Setting this to TRUE will activate the window.
  84.     Setting this to FALSE has no effect.
  85.     The attribute will change whenever the user
  86.     activates/deactivates the window.
  87.  
  88.     Specifying FALSE at object creation time will make
  89.     the window open in an inactive state.
  90. Window.mui/MUIA_Window_ActiveObject
  91.  
  92.     NAME
  93.     MUIA_Window_ActiveObject -- (V4 ) [.SG], Object *
  94.  
  95.     SPECIAL INPUTS
  96.     MUIV_Window_ActiveObject_None
  97.     MUIV_Window_ActiveObject_Next
  98.     MUIV_Window_ActiveObject_Prev
  99.  
  100.     FUNCTION
  101.     Set the active object in a window as if the user
  102.     would have activated it with the tab key. The
  103.     object has to be in the cycle chain for this
  104.     command to work.
  105.  
  106.     EXAMPLE
  107.     set(window,MUIA_Window_ActiveObject,okaybutton);
  108.  
  109.     SEE ALSO
  110.     MUIM_Window_SetCycleChain
  111. Window.mui/MUIA_Window_AltHeight
  112.  
  113.     NAME
  114.     MUIA_Window_AltHeight -- (V4 ) [I.G], LONG
  115.  
  116.     SPECIAL INPUTS
  117.     MUIV_Window_AltHeight_MinMax(p)
  118.     MUIV_Window_AltHeight_Visible(p)
  119.     MUIV_Window_AltHeight_Screen(p)
  120.     MUIV_Window_AltHeight_Scaled
  121.  
  122.     FUNCTION
  123.     Specify the alternate (zoomed) height of a window.
  124.     If not present, the alternate height will be the
  125.     minimum height.
  126.  
  127.     SEE ALSO
  128.     MUIA_Window_Height, MUIA_Window_AltWidth
  129. Window.mui/MUIA_Window_AltLeftEdge
  130.  
  131.     NAME
  132.     MUIA_Window_AltLeftEdge -- (V4 ) [I.G], LONG
  133.  
  134.     SPECIAL INPUTS
  135.     MUIV_Window_AltLeftEdge_Centered
  136.     MUIV_Window_AltLeftEdge_Moused
  137.     MUIV_Window_AltLeftEdge_NoChange
  138.  
  139.     FUNCTION
  140.     Specify the alternate (zoomed) left position of
  141.     a window. This defaults to the standard left
  142.     position.
  143.  
  144.     SEE ALSO
  145.     MUIA_Window_LeftEdge, MUIA_Window_AltTopEdge
  146. Window.mui/MUIA_Window_AltTopEdge
  147.  
  148.     NAME
  149.     MUIA_Window_AltTopEdge -- (V4 ) [I.G], LONG
  150.  
  151.     SPECIAL INPUTS
  152.     MUIV_Window_AltTopEdge_Centered
  153.     MUIV_Window_AltTopEdge_Moused
  154.     MUIV_Window_AltTopEdge_Delta(p)
  155.     MUIV_Window_AltTopEdge_NoChange
  156.  
  157.     FUNCTION
  158.     Specify the alternate (zoomed) top position of
  159.     a window. This defaults to the standard top
  160.     position.
  161.  
  162.     SEE ALSO
  163.     MUIA_Window_TopEdge, MUIA_Window_AltLeftEdge
  164. Window.mui/MUIA_Window_AltWidth
  165.  
  166.     NAME
  167.     MUIA_Window_AltWidth -- (V4 ) [I.G], LONG
  168.  
  169.     SPECIAL INPUTS
  170.     MUIV_Window_AltWidth_MinMax(p)
  171.     MUIV_Window_AltWidth_Visible(p)
  172.     MUIV_Window_AltWidth_Screen(p)
  173.     MUIV_Window_AltWidth_Scaled
  174.  
  175.     FUNCTION
  176.     Specify the alternate (zoomed) width of a window.
  177.     If not present, the alternate width will be the
  178.     minimum width.
  179.  
  180.     SEE ALSO
  181.     MUIA_Window_Width, MUIA_Window_AltHeight
  182. Window.mui/MUIA_Window_AppWindow
  183.  
  184.     NAME
  185.     MUIA_Window_AppWindow -- (V5 ) [I..], BOOL
  186.  
  187.     FUNCTION
  188.     Setting this attribute to TRUE will make this window an
  189.     AppWindow, the user will be able to drop icons on it.
  190.     You can hear about these events by listening to the
  191.     MUIA_AppMessage attribute.
  192.  
  193.     SEE ALSO
  194.     MUIA_AppMessage, MUIA_Application_DropObject
  195. Window.mui/MUIA_Window_Backdrop
  196.  
  197.     NAME
  198.     MUIA_Window_Backdrop -- (V4 ) [I..], BOOL
  199.  
  200.     FUNCTION
  201.     Make the window a backdrop window.
  202. Window.mui/MUIA_Window_Borderless
  203.  
  204.     NAME
  205.     MUIA_Window_Borderless -- (V4 ) [I..], BOOL
  206.  
  207.     FUNCTION
  208.     Make the window borderless.
  209. Window.mui/MUIA_Window_CloseGadget
  210.  
  211.     NAME
  212.     MUIA_Window_CloseGadget -- (V4 ) [I..], BOOL
  213.  
  214.     FUNCTION
  215.     Set this to FALSE and your window will not
  216.     have a close gadget.
  217. Window.mui/MUIA_Window_CloseRequest
  218.  
  219.     NAME
  220.     MUIA_Window_CloseRequest -- (V4 ) [..G], BOOL
  221.  
  222.     FUNCTION
  223.     When the user hits a windows close gadget, the
  224.     window isn't closed immediately. Instead MUI only
  225.     sets this attribute to TRUE to allow your application
  226.     to react.
  227.  
  228.     Usually, you will setup a notification that automatically
  229.     closes the window when a close request appears, but you
  230.     could e.g. pop up a confirmation requester or do some
  231.     other things first.
  232.  
  233.     EXAMPLE
  234.     /* automagically close a window     */
  235.     /* when the close gadget is pressed */
  236.  
  237.     DoMethod(window,MUIM_Notify,
  238.        MUIA_Window_CloseRequest, TRUE,
  239.        window,3,MUIM_Set,MUIA_Window_Open,0);
  240.  
  241.     SEE ALSO
  242.     MUIA_Window_Open
  243. Window.mui/MUIA_Window_DefaultObject
  244.  
  245.     NAME
  246.     MUIA_Window_DefaultObject -- (V4 ) [ISG], Object *
  247.  
  248.     FUNCTION
  249.     The default object in a window receives keyboard input
  250.     as long as no other object is active. Good candidates
  251.     for default objects are e.g. lonely listviews. Making
  252.     such a listview the default object will allow the user
  253.     to control it immediately without the need of several
  254.     tab strokes for activation.
  255.  
  256.     SEE ALSO
  257.     MUIA_Window_ActiveObject
  258. Window.mui/MUIA_Window_DepthGadget
  259.  
  260.     NAME
  261.     MUIA_Window_DepthGadget -- (V4 ) [I..], BOOL
  262.  
  263.     FUNCTION
  264.     Enable or disable the depth gadget. Defaults to TRUE.
  265.     There is no good reason to use this tag.
  266. Window.mui/MUIA_Window_DragBar
  267.  
  268.     NAME
  269.     MUIA_Window_DragBar -- (V4 ) [I..], BOOL
  270.  
  271.     FUNCTION
  272.     Tell MUI to give your window a dragbar.
  273.  
  274.     Defaults to TRUE.
  275.  
  276.     There is no good reason to disable the dragbar!
  277. Window.mui/MUIA_Window_FancyDrawing
  278.  
  279.     NAME
  280.     MUIA_Window_FancyDrawing -- (V8 ) [ISG], BOOL
  281.  
  282.     FUNCTION
  283.     Usually, the only possible place to do some rendering is
  284.     during a MUIM_Draw method. However, if you have a class
  285.     that really requires very high graphical output speed
  286.     (e.g. a module players scope or a game class), you can
  287.     set MUIA_Window_FancyDrawing to TRUE.
  288.  
  289.     This allows your class to render anywhere between
  290.     MUIM_Show and MUIM_Hide, e.g. directly after an
  291.     attribute change with OM_SET or from a seperate
  292.     task.
  293.  
  294.     Note that your rastport etc. is only valid between
  295.     MUIM_Show and MUIM_Hide. Keep that in mind!
  296.  
  297.     When drawing from a seperate task, you have to clone
  298.     the RastPort and use the copy for your rendering!
  299.  
  300.     NOTES
  301.     Please use this attribute sparingly. It might prevent
  302.     MUI from doing nice things with your window, e.g.
  303.     building an automatic virtual group when the screen
  304.     is too small.
  305.  
  306.     MUIA_Window_FancyDrawing is really only necessary for
  307.     very few types of applications. You should use the
  308.     traditional way (MUIM_Draw and MUI_Redraw()) whenever
  309.     and wherever possible!
  310. Window.mui/MUIA_Window_Height
  311.  
  312.     NAME
  313.     MUIA_Window_Height -- (V4 ) [I.G], LONG
  314.  
  315.     SPECIAL INPUTS
  316.     MUIV_Window_Height_MinMax(p)
  317.     MUIV_Window_Height_Visible(p)
  318.     MUIV_Window_Height_Screen(p)
  319.     MUIV_Window_Height_Scaled
  320.     MUIV_Window_Height_Default
  321.  
  322.     FUNCTION
  323.     Specify the height of a window. Usually, you won't give
  324.     a pixel value here but instead use one of the following
  325.     magic macros:
  326.  
  327.     MUIV_Window_Height_Default:
  328.        calculated from objects default sizes.
  329.  
  330.     MUIV_Window_Height_MinMax(0..100):
  331.        somewhere between the minimum height (0) and the
  332.        maximum height (100) of your window.
  333.  
  334.     MUIV_Window_Height_Visible(1..100):
  335.        percentage of the screens visible height.
  336.  
  337.     MUIV_Window_Height_Screen(1..100):
  338.        percentage of the screens total height.
  339.  
  340.     MUIV_Window_Height_Scaled:
  341.        height will be adjusted so that
  342.        width : height == minimum width : minimum height.
  343.        Note that a windows width and height may not
  344.        both be scaled.
  345.  
  346.     Default for this tag is MUIV_Window_Height_Default.
  347.  
  348.     As long as your window has a window id (MUIA_Window_ID),
  349.     choosing a size is not that important. MUI will always
  350.     remember a windows last position and size and these
  351.     values will simply override your settings. Positioning
  352.     and sizing should be completely under user control,
  353.     a programmer doesn't need to worry about it.
  354.  
  355.     SEE ALSO
  356.     MUIA_Window_Width, MUIA_Window_ID
  357. Window.mui/MUIA_Window_ID
  358.  
  359.     NAME
  360.     MUIA_Window_ID -- (V4 ) [ISG], ULONG
  361.  
  362.     FUNCTIONS
  363.     For most of your windows, you should define a longword
  364.     as id value. Only a window with an id is able to
  365.     remember its size and position.
  366.  
  367.     Additionally, when you use an ascii id (e.g. 'MAIN'),
  368.     your window can be controlled from ARexx.
  369.  
  370.     Of course all windows of your application must have
  371.     unique ids.
  372.  
  373.     SEE ALSO
  374.     MUIA_Window_LeftEdge
  375. Window.mui/MUIA_Window_InputEvent
  376.  
  377.     NAME
  378.     MUIA_Window_InputEvent -- (V4 ) [..G], struct InputEvent *
  379.  
  380.     FUNCTION
  381.     This attribute gets set whenever your window receives
  382.     an input event. You can react on this by creating
  383.     a notification event containing a standard
  384.     commodities.library input description string.
  385.  
  386.     Due to performance reasons, only IDCMP_RAWKEY,
  387.     IDCMP_DISKINSERTED and IDCMP_DISKREMOVED events
  388.     are translated to a MUIA_Window_InputEvent
  389.     notification.
  390.  
  391.     Prior to MUI 3.0, the input description string needed
  392.     to remain valid as long as the notification lasts. MUI 3.0
  393.     converts the string to a struct IX immediately, speeding
  394.     up the comparision and eliminating the need to keep
  395.     the description strings allocated.
  396.  
  397.     NOTE
  398.     Notification on MUIA_Window_InputEvent is inefficient.
  399.     You should only use this notification for a few keyboard events
  400.     that are "general" to the window, e.g. F-Keys for certain
  401.     program actions. Keyboard control for single user interface
  402.     elements should be implemented by using subclasses and
  403.     requesting rawkey input events from there.
  404.  
  405.     EXAMPLE
  406.     DoMethod(window, MUIM_Notify,
  407.        MUIA_Window_InputEvent, "-repeat f1",
  408.        txobj, 3,
  409.        MUIM_Set, MUIA_Text_Contents, "f1 pressed/repeated");
  410. Window.mui/MUIA_Window_LeftEdge
  411.  
  412.     NAME
  413.     MUIA_Window_LeftEdge -- (V4 ) [I.G], LONG
  414.  
  415.     SPECIAL INPUTS
  416.     MUIV_Window_LeftEdge_Centered
  417.     MUIV_Window_LeftEdge_Moused
  418.  
  419.     FUNCTION
  420.     Specify the left edge of a window. Usually, you shouldn't
  421.     define a pixel value here but instead use one of the
  422.     following macros:
  423.  
  424.     MUIV_Window_LeftEdge_Centered:
  425.        window appears centered on the visible area of screen.
  426.  
  427.     MUIV_Window_LeftEdge_Moused
  428.        window appears centered under the mouse pointer.
  429.  
  430.     Default for this tag is MUIV_Window_LeftEdge_Centered.
  431.  
  432.     As long as your window has a window id (MUIA_Window_ID),
  433.     choosing a position is not that important. MUI will always
  434.     remember a windows last position and size and these
  435.     values will simply override your settings. Positioning
  436.     and sizing should be completely under user control,
  437.     a programmer doesn't need to worry about it.
  438.  
  439.     SEE ALSO
  440.     MUIA_Window_TopEdge, MUIA_Window_ID
  441. Window.mui/MUIA_Window_Menu
  442.  
  443.     NAME
  444.     MUIA_Window_Menu -- (V4 ) [I..], struct NewMenu * (OBSOLETE)
  445.  
  446.     SPECIAL INPUTS
  447.     MUIV_Window_Menu_NoMenu
  448.  
  449.     FUNCTION
  450.     Obsolete, use MUIA_Window_Menustrip instead.
  451.  
  452.     SEE ALSO
  453.     MUIA_Window_Menustrip
  454. Window.mui/MUIA_Window_MenuAction
  455.  
  456.     NAME
  457.     MUIA_Window_MenuAction -- (V8 ) [ISG], ULONG
  458.  
  459.     FUNCTION
  460.     Whenever a menu item is selected, this attribute will be
  461.     set to the corresponding UserData field of the gadtools
  462.     NewMenu structure. This allows reacting on menu items
  463.     via broadcasting.
  464.  
  465.     SEE ALSO
  466.     MUIA_Window_Menu
  467. Window.mui/MUIA_Window_Menustrip
  468.  
  469.     NAME
  470.     MUIA_Window_Menustrip -- (V8 ) [I.G], Object *
  471.  
  472.     FUNCTION
  473.     Specify a menu strip object for this window. The object
  474.     is treated as a child of the window and will be disposed
  475.     when the window is disposed.
  476.  
  477.     Menustrip objects defined for a window will override an
  478.     applications Menustrip object.
  479.  
  480.     MUIA_Window_Menustrip replaces the old and obsolete
  481.     MUIA_Window_Menu tag.
  482.  
  483.     Usually, you will create the menu object with MUI's builtin
  484.     object library from a gadtools NewMenu structure, but its
  485.     also OK to define the menu tree "by hand" using the
  486.     Family class.
  487.  
  488.     If you have a global menu for all your applications windows
  489.     but you want some windows to have no menu, use the
  490.     MUIA_Window_NoMenus tag.
  491.  
  492.     SEE ALSO
  493.     MUIA_Window_NoMenus
  494. Window.mui/MUIA_Window_MouseObject
  495.  
  496.     NAME
  497.     MUIA_Window_MouseObject -- (V10) [..G], Object *
  498.  
  499.     FUNCTION
  500.     When MUIA_Window_NeedsMouseObject is enabled for this window,
  501.     you can setup notificationns on MUIA_Window_MouseObject to
  502.     find out on which object the mouse pointer is located.
  503.  
  504.     SEE ALSO
  505.     MUIA_Window_NeedsMouseObject
  506. Window.mui/MUIA_Window_NeedsMouseObject
  507.  
  508.     NAME
  509.     MUIA_Window_NeedsMouseObject -- (V10) [I..], BOOL
  510.  
  511.     FUNCTION
  512.     If you want to react on changes of the MUIA_Window_MouseObject
  513.     attribute, you have to set this to TRUE when creating your
  514.     window.
  515.  
  516.     SEE ALSO
  517.     MUIA_Window_MouseObject
  518. Window.mui/MUIA_Window_NoMenus
  519.  
  520.     NAME
  521.     MUIA_Window_NoMenus -- (V4 ) [IS.], BOOL
  522.  
  523.     FUNCTION
  524.     Temporarily disable the menu strip of a window.
  525.  
  526.     SEE ALSO
  527.     MUIA_Window_Menu
  528. Window.mui/MUIA_Window_Open
  529.  
  530.     NAME
  531.     MUIA_Window_Open -- (V4 ) [.SG], BOOL
  532.  
  533.     FUNCTION
  534.     This little attribute can be used to open and close
  535.     a window. When opening a window, MUI does lots of
  536.     stuff to calculate sizes and positions of all
  537.     gadgets. Minimum and maximum window sizes will be
  538.     adjusted automatically.
  539.  
  540.     When the minimum size of a window is too big to fit
  541.     on the screen, MUI tries to reduce font sizes and
  542.     does a new calculation. You should always design
  543.     your windows to fit on a 640*200 screen with
  544.     all fonts set to topaz/8.
  545.  
  546.     When a window is closed (and you specified a
  547.     MUIA_Window_ID), MUI remembers its position
  548.     and size and uses these values during the next
  549.     opening.
  550.  
  551.     After setting MUIA_Window_Open to TRUE, you should
  552.     test if MUI was able to open the window by getting
  553.     the attribute again. If you don't and if this was
  554.     the only window of your application, the user won't
  555.     be able to do any input and your application will
  556.     seem to hang.
  557.  
  558.     EXAMPLE
  559.     set(window,MUIA_Window_Open,TRUE);
  560.     get(window,MUIA_Window_Open,&open);
  561.     if (!open)
  562.     {
  563.        MUI_Request(app,0,0,0,"Ok","Failed to open window.");
  564.        exit(20);
  565.     }
  566.  
  567.     SEE ALSO
  568.     MUIA_Window_RootObject
  569. Window.mui/MUIA_Window_PublicScreen
  570.  
  571.     NAME
  572.     MUIA_Window_PublicScreen -- (V6 ) [ISG], STRPTR
  573.  
  574.     FUNCTION
  575.     Force the window to appear on the public screen who's name
  576.     is specified by this attribute. This tag overrides the
  577.     user preferences setting and is overridden by
  578.     MUIA_Window_Screen.
  579.  
  580.     Please use this tag sparely, overriding user prefs is
  581.     not a good idea!
  582.  
  583.     SEE ALSO
  584.     MUIA_Window_Screen
  585. Window.mui/MUIA_Window_RefWindow
  586.  
  587.     NAME
  588.     MUIA_Window_RefWindow -- (V4 ) [IS.], Object *
  589.  
  590.     FUNCTION
  591.     Setting MUIA_Window_RefWindow to another MUI window
  592.     object will make the left and top position relative
  593.     to this reference window. Using the
  594.     MUIA_Window_Left(Top)Edge_Centered tag, you can easily
  595.     open one window within another.
  596.  
  597.     Note that if your window has an id, the window will
  598.     remember its last position and reopen there. Thus,
  599.     this tag is only useful if you omit MUIA_Window_ID,
  600.     maybe for some small requester windows.
  601.  
  602.     SEE ALSO
  603.     MUIA_Window_ID, MUIA_Window_LeftEdge
  604. Window.mui/MUIA_Window_RootObject
  605.  
  606.     NAME
  607.     MUIA_Window_RootObject -- (V4 ) [ISG], Object *
  608.  
  609.     FUNCTION
  610.     This is a pointer to a MUI object and defines the
  611.     contents of your window. Usually, this root object
  612.     will be of class MUIC_Group since you surely want to
  613.     have more than one gadget.
  614.  
  615.     The root object is treated as child of a window
  616.     and will be disposed when the window is disposed.
  617.     Note that windows can only have one child.
  618.  
  619.     NOTES
  620.     Although you may create a window without root object,
  621.     you have to set one before the window is openend!
  622.  
  623.     You can *only* use MUIA_Window_RootObject in a SetAttrs()
  624.     call if your window is not open yet!
  625.  
  626.     EXAMPLE
  627.     win = WindowObject, MUIA_Window_RootObject,
  628.        VGroup,
  629.           Child, ...,
  630.           Child, ...,
  631.           End,
  632.        End;
  633.  
  634.     SEE ALSO
  635.     MUIA_Window_Open
  636. Window.mui/MUIA_Window_Screen
  637.  
  638.     NAME
  639.     MUIA_Window_Screen -- (V4 ) [ISG], struct Screen *
  640.  
  641.     FUNCTION
  642.     You can get a pointer to the parent screen of a window by 
  643.     getting this attribute. The result will be NULL when the
  644.     window is currently closed.
  645.  
  646.     Specifying MUIA_Window_Screen at object creation time or
  647.     with a SetAttrs() call allows you to explicitly tell MUI
  648.     on which screen the window should be opened. You normally
  649.     won't need this feature and leave the decision about
  650.     screens to the users preferences setting.
  651.  
  652.     SEE ALSO
  653.     MUIA_Window_PublicScreen, MUIA_Window_Window
  654. Window.mui/MUIA_Window_ScreenTitle
  655.  
  656.     NAME
  657.     MUIA_Window_ScreenTitle -- (V5 ) [ISG], STRPTR
  658.  
  659.     FUNCTION
  660.     This text will appear in the screens title bar
  661.     when the window is active.
  662.  
  663.     SEE ALSO
  664.     MUIA_Window_Title
  665. Window.mui/MUIA_Window_SizeGadget
  666.  
  667.     NAME
  668.     MUIA_Window_SizeGadget -- (V4 ) [I..], BOOL
  669.  
  670.     FUNCTION
  671.     Tell MUI if you want a sizing gadget for this window.
  672.     Usually you won't need this attribute since MUI
  673.     will automatically disable the sizing gadget when
  674.     your window is not sizeable because of your gadget
  675.     layout.
  676. Window.mui/MUIA_Window_SizeRight
  677.  
  678.     NAME
  679.     MUIA_Window_SizeRight -- (V4 ) [I..], BOOL
  680.  
  681.     FUNCTION
  682.     When set to TRUE, the size gadget will reside
  683.     in the right window border.
  684. Window.mui/MUIA_Window_Sleep
  685.  
  686.     NAME
  687.     MUIA_Window_Sleep -- (V4 ) [.SG], BOOL
  688.  
  689.     FUNCTION
  690.     This attribute can be used to put a window to sleep.
  691.     The window gets disabled and a busy pointer appears.
  692.  
  693.     The attribute contains a nesting count, if you tell
  694.     your window to sleep twice, you will have to tell
  695.     it to wake up twice too.
  696.  
  697.     A sleeping window cannot be resized.
  698.  
  699.     SEE ALSO
  700.     MUIA_Application_Sleep
  701. Window.mui/MUIA_Window_Title
  702.  
  703.     NAME
  704.     MUIA_Window_Title -- (V4 ) [ISG], STRPTR
  705.  
  706.     FUNCTION
  707.     Specify the title of a window.
  708.  
  709.     SEE ALSO
  710.     MUIA_Window_ScreenTitle
  711. Window.mui/MUIA_Window_TopEdge
  712.  
  713.     NAME
  714.     MUIA_Window_TopEdge -- (V4 ) [I.G], LONG
  715.  
  716.     SPECIAL INPUTS
  717.     MUIV_Window_TopEdge_Centered
  718.     MUIV_Window_TopEdge_Moused
  719.     MUIV_Window_TopEdge_Delta(p)
  720.  
  721.     FUNCTION
  722.     Specify the top edge of a window. Usually, you shouldn't
  723.     define a pixel value here but instead use one of the
  724.     following macros:
  725.  
  726.     MUIV_Window_TopEdge_Centered:
  727.        window appears centered on the visible area of screen.
  728.  
  729.     MUIV_Window_TopEdge_Moused
  730.        window appears centered under the mouse pointer.
  731.  
  732.     MUIV_Window_TopEdge_Delta(p)
  733.        window appears p pixels below the screens title bar.
  734.  
  735.     Default for this tag is MUIV_Window_TopEdge_Centered.
  736.  
  737.     As long as your window has a window id (MUIA_Window_ID),
  738.     choosing a position is not that important. MUI will always
  739.     remember a windows last position and size and these
  740.     values will simply override your settings. Positioning
  741.     and sizing should be completely under user control,
  742.     a programmer doesn't need to worry about it.
  743.  
  744.     SEE ALSO
  745.     MUIA_Window_LeftEdge, MUIA_Window_ID
  746. Window.mui/MUIA_Window_Width
  747.  
  748.     NAME
  749.     MUIA_Window_Width -- (V4 ) [I.G], LONG
  750.  
  751.     SPECIAL INPUTS
  752.     MUIV_Window_Width_MinMax(p)
  753.     MUIV_Window_Width_Visible(p)
  754.     MUIV_Window_Width_Screen(p)
  755.     MUIV_Window_Width_Scaled
  756.     MUIV_Window_Width_Default
  757.  
  758.     FUNCTION
  759.     Specify the width of a window. Usually, you won't give
  760.     a pixel value here but instead use one of the following
  761.     magic macros:
  762.  
  763.     MUIV_Window_Width_Default:
  764.        calculated from objects default sizes.
  765.  
  766.     MUIV_Window_Width_MinMax(0..100):
  767.        somewhere between the minimum width (0) and the
  768.        maximum width (100) of your window.
  769.  
  770.     MUIV_Window_Width_Visible(1..100):
  771.        percentage of the screens visible width.
  772.  
  773.     MUIV_Window_Width_Screen(1..100):
  774.        percentage of the screens total width.
  775.  
  776.     MUIV_Window_Width_Scaled:
  777.        width will be adjusted so that
  778.        width : height == minimum width : minimum height.
  779.        Note that a windows width and height may not
  780.        both be scaled.
  781.  
  782.     Default for this tag is MUIV_Window_Width_Default.
  783.  
  784.     As long as your window has a window id (MUIA_Window_ID),
  785.     choosing a size is not that important. MUI will always
  786.     remember a windows last position and size and these
  787.     values will simply override your settings. Positioning
  788.     and sizing should be completely under user control,
  789.     a programmer doesn't need to worry about it.
  790.  
  791.     SEE ALSO
  792.     MUIA_Window_Height, MUIA_Window_ID
  793. Window.mui/MUIA_Window_Window
  794.  
  795.     NAME
  796.     MUIA_Window_Window -- (V4 ) [..G], struct Window *
  797.  
  798.     FUNCTION
  799.     When your window is open, you can obtain a pointer
  800.     to the intuition Window structure with this tag
  801.     and use it e.g. in an asl.library requester call.
  802.  
  803.     Since the user can close your window any time
  804.     (e.g. iconification), you must be prepared to
  805.     receive a NULL pointer as result.
  806.  
  807.     SEE ALSO
  808.     MUIA_Window_Screen
  809. Window.mui/MUIM_Window_GetMenuCheck
  810.  
  811.     NAME
  812.     MUIM_Window_GetMenuCheck (V4 ) (OBSOLETE)
  813.  
  814.     SYNOPSIS
  815.     DoMethod(obj,MUIM_Window_GetMenuCheck,ULONG MenuID);
  816.  
  817.     FUNCTION
  818.     Ask whether a checkmark menu item has its
  819.     checkmark set or cleared.
  820.  
  821.     INPUTS
  822.     MenuID - the value you wrote into the
  823.                  UserData field of struct NewMenu.
  824.  
  825.     SEE ALSO
  826.     MUIM_Window_SetMenuCheck, MUIA_Window_Menu
  827. Window.mui/MUIM_Window_GetMenuState
  828.  
  829.     NAME
  830.     MUIM_Window_GetMenuState (V4 ) (OBSOLETE)
  831.  
  832.     SYNOPSIS
  833.     DoMethod(obj,MUIM_Window_GetMenuState,ULONG MenuID);
  834.  
  835.     FUNCTION
  836.     Ask whether a menu item is enabled or disabled.
  837.  
  838.     INPUTS
  839.     MenuID - the value you wrote into the
  840.                  UserData field of struct NewMenu.
  841.  
  842.     SEE ALSO
  843.     MUIM_Window_SetMenuState, MUIA_Window_Menu
  844. Window.mui/MUIM_Window_ScreenToBack
  845.  
  846.     NAME
  847.     MUIM_Window_ScreenToBack (V4 )
  848.  
  849.     SYNOPSIS
  850.     DoMethod(obj,MUIM_Window_ScreenToBack,);
  851.  
  852.     FUNCTION
  853.     Put the window's screen to back. This command is
  854.     only valid when the window is opened.
  855.  
  856.     SEE ALSO
  857.     MUIM_Window_ScreenToFront, MUIM_Window_ToFront,
  858.     MUIM_Window_ToBack
  859. Window.mui/MUIM_Window_ScreenToFront
  860.  
  861.     NAME
  862.     MUIM_Window_ScreenToFront (V4 )
  863.  
  864.     SYNOPSIS
  865.     DoMethod(obj,MUIM_Window_ScreenToFront,);
  866.  
  867.     FUNCTION
  868.     Put the window's screen to font. This command is
  869.     only valid when the window is opened.
  870.  
  871.     SEE ALSO
  872.     MUIM_Window_ScreenToBack, MUIM_Window_ToFront,
  873.     MUIM_Window_ToBack
  874. Window.mui/MUIM_Window_SetCycleChain
  875.  
  876.     NAME
  877.     MUIM_Window_SetCycleChain (V4 ) (OBSOLETE)
  878.  
  879.     SYNOPSIS
  880.     DoMethod(obj,MUIM_Window_SetCycleChain,Object *obj[1]);
  881.  
  882.     FUNCTION
  883.     Set the cycle chain for a window. To make MUI's keyboard
  884.     control work, you need to setup a chain of objects that
  885.     should be activatable with the tab key. This can be
  886.     any objects you wish, MUI supports complete keyboard
  887.     handling even for sliders or listviews.
  888.  
  889.     If you forget to set a cycle chain because you
  890.     are a mouse-man, you certainly will annoy some
  891.     users of your application!
  892.  
  893.     INPUTS
  894.     One or more objects, terminated with a NULL.
  895.  
  896.     EXAMPLE
  897.     DoMethod(window,MUIM_Window_SetCycleChain,
  898.        str1,str2,slide1,list,radio,cycle1,cycle2,NULL);
  899.  
  900.     SEE ALSO
  901.     MUIA_Window_ActiveObject, Area.mui/MUIA_CycleChain
  902. Window.mui/MUIM_Window_SetMenuCheck
  903.  
  904.     NAME
  905.     MUIM_Window_SetMenuCheck (V4 ) (OBSOLETE)
  906.  
  907.     SYNOPSIS
  908.     DoMethod(obj,MUIM_Window_SetMenuCheck,ULONG MenuID, LONG stat);
  909.  
  910.     FUNCTION
  911.     Set or clear the checkmark of a menu item.
  912.  
  913.     INPUTS
  914.     MenuID - the value you wrote into the
  915.                  UserData field of struct NewMenu.
  916.  
  917.     set    - TRUE to set checkmark, FALSE to clear
  918.  
  919.     SEE ALSO
  920.     MUIM_Window_GetMenuCheck, MUIA_Window_Menu,
  921. Window.mui/MUIM_Window_SetMenuState
  922.  
  923.     NAME
  924.     MUIM_Window_SetMenuState (V4 ) (OBSOLETE)
  925.  
  926.     SYNOPSIS
  927.     DoMethod(obj,MUIM_Window_SetMenuState,ULONG MenuID, LONG stat);
  928.  
  929.     FUNCTION
  930.     Enable or disable a menu item.
  931.  
  932.     INPUTS
  933.     MenuID - the value you wrote into the
  934.                  UserData field of struct NewMenu.
  935.  
  936.     set    - TRUE to enable item, FALSE to disable.
  937.  
  938.     SEE ALSO
  939.     MUIM_Window_GetMenuState, MUIA_Window_Menu,
  940. Window.mui/MUIM_Window_ToBack
  941.  
  942.     NAME
  943.     MUIM_Window_ToBack (V4 )
  944.  
  945.     SYNOPSIS
  946.     DoMethod(obj,MUIM_Window_ToBack,);
  947.  
  948.     FUNCTION
  949.     Put the window to back. When the window is not currently open,
  950.     this command does simply nothing.
  951.  
  952.     SEE ALSO
  953.     MUIM_Window_ToFront, MUIM_Window_ScreenToFront,
  954.     MUIM_Window_ScreenToBack
  955. Window.mui/MUIM_Window_ToFront
  956.  
  957.     NAME
  958.     MUIM_Window_ToFront (V4 )
  959.  
  960.     SYNOPSIS
  961.     DoMethod(obj,MUIM_Window_ToFront,);
  962.  
  963.     FUNCTION
  964.     Put the window to front. When the window is not currently open,
  965.     this command does simply nothing.
  966.  
  967.     SEE ALSO
  968.     MUIM_Window_ToBack, MUIM_Window_ScreenToFront,
  969.     MUIM_Window_ScreenToBack
  970.